class BootStrap {
    def grailsApplication
    def authenticateService
    def init = { servletContext ->
        for (dc in grailsApplication.domainClasses) {
            dc.clazz.count()
        }
        def  person = new Usuario()
        if( !Permissao.findByAuthority('ROLE_ADMIN') ) {
            def permissaoIstance = new Permissao()
            permissaoIstance.authority = 'ROLE_ADMIN'
            permissaoIstance.description = 'ADMINITRADOR DO SISTEMA'
            if (permissaoIstance.save()) {
                person.username = 'admin'
                person.userRealName = "Admin"
                person.passwd = authenticateService.encodePassword('admin')
                person.pass = person.passwd
                person.email = 'essousa@sms.fortaleza.ce.gov.br'
                person.email2 = person.email
                CriptografiaDescriptografia cript  = new CriptografiaDescriptografia()
                person.keyPass = cript.criptografaLogin('admin')
                if(person.save()) {
                    def role_web = Permissao.get(permissaoIstance.id)
                    role_web.addToPeople(person)
                    role_web.save()
                }
            }
            if( !Permissao.findByAuthority('ROLE_USER') ) {
                permissaoIstance = new Permissao()
                permissaoIstance.authority = 'ROLE_USER'
                permissaoIstance.description = 'USUARIO DO SISTEMA'
                permissaoIstance.save()

            }

            if( !Permissao.findByAuthority('ROLE_USER_SUPER') ) {
                permissaoIstance = new Permissao()
                permissaoIstance.authority = 'ROLE_USER_SUPER'
                permissaoIstance.description = 'ADMINISTRADOR'
                permissaoIstance.save()

            }
           if( !Permissao.findByAuthority('ROLE_GESTOR') ) {
                permissaoIstance = new Permissao()
                permissaoIstance.authority = 'ROLE_GESTOR'
                permissaoIstance.description = 'ADMINISTRADOR E LIBERADOR DO RESULTADO'
                permissaoIstance.save()

            }
              if( !Permissao.findByAuthority('ROLE_REVISOR') ) {
                permissaoIstance = new Permissao()
                permissaoIstance.authority = 'ROLE_REVISOR'
                permissaoIstance.description = 'ADMINISTRADOR REVISOR DE E-MAIL'
                permissaoIstance.save()
            }

        } 
        if (!InscricaoItens.list()) {
def itens = []
  itens.add(fase:'1',grupo:'1',ponto:1,categoria:'todos',letra:'A' ,descricao:'Inscrição eletrônica impressa e devidamente preenchida' )
  itens.add(fase:'1',grupo:'1',ponto:1,categoria:'todos',letra:'B' ,descricao:'Contrato Social registrado e arquivado na Junta Comercial do Estado ou no Cartório de Registros das Pessoas Jurídicas/Cartório de Registros de Títulos' )
  itens.add(fase:'1',grupo:'1',ponto:1,categoria:'todos',letra:'C' ,descricao:'Cartão do CNPJ' )
  itens.add(fase:'1',grupo:'1',ponto:1,categoria:'todos',letra:'D' ,descricao:'Documentos da Pessoa Jurídica, que conste dentro dos seus objetivos, a prestação dos serviços descritos no item 1' )
  itens.add(fase:'1',grupo:'1',ponto:1,categoria:'todos',letra:'E' ,descricao:'Certidão Negativa de Débitos com o município sede da Pessoa Jurídica' )
  itens.add(fase:'1',grupo:'1',ponto:1,categoria:'todos',letra:'F' ,descricao:'Certidão Negativa de Débitos com o INSS, Conjunta Tributos Federais e Dívida Ativa da União e da Secretaria da Fazenda Estadual' )
  itens.add(fase:'1',grupo:'1',ponto:1,categoria:'todos',letra:'G' ,descricao:'Certidão Negativa de Débitos com o FGTS' )
  itens.add(fase:'1',grupo:'1',ponto:1,categoria:'todos',letra:'H' ,descricao:'Alvará Sanitário' )
  itens.add(fase:'1',grupo:'1',ponto:1,categoria:'todos',letra:'I' ,descricao:'Licença de Funcionamento atualizado' )
  itens.add(fase:'1',grupo:'1',ponto:1,categoria:'todos',letra:'J' ,descricao:'Apresentação de proposta discriminando os serviços a serem oferecidos, conforme modelo do Anexo VI- Descrição do Quantitativo da Oferta, - tendo como parâmetro às necessidades elencadas no Anexo I ' )
  itens.add(fase:'1',grupo:'1',ponto:1,categoria:'todos',letra:'K' ,descricao:'Fichas de Cadastro de Estabelecimento de Saúde (FCES), obtidas no link www.cnes.datasus.gov.br, em conformidade com os serviços propostos na alínea “j” , do item 3.1, do Edital de Chamamento Público' )
  itens.add(fase:'1',grupo:'1',ponto:1,categoria:'todos',letra:'L' ,descricao:'Relação nominal dos profissionais cadastrados nas Fichas de Cadastro de Estabelecimento de Saúde (FCES) que estarão à disposição dos serviços ofertados, bem como a indicação do profissional legalmente habilitado para ser o responsável técnico da Pessoa Jurídica candidata ao credenciamento' )
  itens.add(fase:'1',grupo:'1',ponto:1,categoria:'todos',letra:'M' ,descricao:'Certidão de Entidade de Fins Filantrópicos' )
  itens.add(fase:'1',grupo:'1',ponto:1,categoria:'todos',letra:'N' ,descricao:'Declaração atestando a autenticidade de todos os documentos e informações apresentadas, sujeitando-se às penalidades legais e a sumária desclassificação deste Chamamento Público nos casos em que os documentos ou as informações prestadas não forem adequados' )

            itens.each {
                 def   inscricaoItens = new InscricaoItens()
                  inscricaoItens.fase = it.fase
                  inscricaoItens.grupo = it.grupo
                  inscricaoItens.ponto = it.ponto
                  inscricaoItens.categoria = it.categoria
                  inscricaoItens.letra = it.letra
                  inscricaoItens.descricao = it.descricao
               
                
                
                inscricaoItens.save();


                     inscricaoItens.errors.allErrors.each {
       println it

             }


            }







        }






    }

    def destroy = {
    }

    
    




} 